Apparatus and method for emergency dispatch

ABSTRACT

A disclosed method includes receiving data inputs for a plurality of events including alarms, sensors, and mobile device emergency call and emergency alert related emergency data; determining event correlations based on the data inputs to generate a set of correlated events; determining emergency network dispatch rules for each correlated event based on event type; applying corresponding emergency network dispatch rules to each corresponding correlated event; and sending a dispatch recommendation to an emergency network entity for each correlated event based on application of the corresponding emergency network dispatch rules.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a Continuation of U.S. patent applicationSer. No. 16/812,995, filed Mar. 9, 2020, entitled “APPARATUS AND METHODFOR EMERGENCY DISPATCH,” which further claims priority to U.S.Provisional Patent Application No. 62/815,594, filed Mar. 8, 2019,entitled “SENSOR-ENABLED TRIAGE AND AUTOMATED EMERGENCY RESPONSE,” bothof which are hereby incorporated by reference herein in their entirety,and both which are assigned to the same assignee as the presentapplication.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to emergency calls, enhanced9-1-1 (E911) and next generation 9-1-1 (NG911) emergency networks, andmore particularly, to acquisition of emergency event data for use inresponding to emergencies.

BACKGROUND

Emergency networks which may also be referred to as emergency dispatchcenters (EDC) including public safety answering points (PSAPs), utilizevarious enhanced 9-1-1 (E911) or next generation 9-1-1 (NG911) emergencynetwork infrastructures which provide interconnection to the Internetprotocol (IP) domain.

An emergency network refers to an entity that may receive an emergencycall or an emergency alert and coordinate emergency assistance. Anemergency network may be owned and operated by a public organization runby a municipality, county or city, or by a private organization such asa corporation or college campus. Emergency assistance provided caninclude medical, caregivers, firefighting, police, military,paramilitary, border patrol, lifeguard, security services, or anycombination thereof. These personnel may be referred to as “EmergencyService Providers” (ESPs) or “emergency responders,” or “responders.” Inexisting systems ESPs or responders are dispatched by dispatch operatorswho communicate with responders via radio dispatch systems.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an emergency data manager incommunication with various emergency networks, mobile devices, alarmsand sensors.

FIG. 2 is a block diagram of showing further details of an emergencydata manager having event correlation logic and false alarm detectionlogic in accordance with various embodiments.

FIG. 3 is a diagram providing further details of an emergency datamanager in accordance with one embodiment.

FIG. 4 is a diagram of an example emergency network entity having anemergency response application in accordance with one embodiment.

FIG. 5 is a diagram of an example emergency network entity having anemergency response application plug-in accordance with one embodiment.

FIG. 6 is a block diagram providing an example of internal components ofa device which may be used as an emergency caller device or to send anemergency alert.

FIG. 7 is a block diagram providing an example of internal components ofan emergency responder device which may be used to receive emergencydata.

FIG. 8 is an example graphical user interface (GUI) displayed on anemergency network entity display in accordance with an embodiment.

FIG. 9 is another example graphical user interface (GUI) displayed on anemergency network entity display in accordance with an embodiment.

FIG. 10 is a flowchart showing a method of operation of false alarmdetection logic in an emergency data manager in accordance with variousembodiments.

FIG. 11 is a flowchart showing a method of operation of false alarmdetection logic in an emergency data manager in accordance with variousembodiments.

FIG. 12 is a flowchart showing a method of operation of eventcorrelation logic in an emergency data manager in accordance withvarious embodiments.

FIG. 13 is a flowchart showing a method of operation of eventcorrelation logic in an emergency data manager in accordance withvarious embodiments.

FIG. 14 is a flowchart showing a method of operation of eventcorrelation logic in an emergency data manager in accordance withvarious embodiments.

FIG. 15 is a flowchart showing a method of operation of eventcorrelation logic and false alarm detection logic in an emergency datamanager in accordance with various embodiments.

DETAILED DESCRIPTION

Briefly, the present disclosure provides apparatuses and methods ofcorrelating events received that are related to emergency situations,and providing automated emergency dispatch capabilities based on eventcorrelation and application of emergency network dispatch rules.

One disclosed method includes receiving data inputs for a plurality ofevents including alarms, sensors, and mobile device emergency call andemergency alert related emergency data; determining event correlationsbased on the data inputs to generate a set of correlated events;determining emergency network dispatch rules for each correlated eventbased on event type; applying corresponding emergency network dispatchrules to each corresponding correlated event; and sending a dispatchrecommendation to an emergency network entity for each correlated eventbased on application of the corresponding emergency network dispatchrules. The method may further include dispatching emergency respondersautomatically by sending the dispatch recommendation to emergencyresponders corresponding to the emergency type for each correlatedevent.

The method may further include determining the emergency network entityfor each correlated event based on associations between the data inputscorresponding to each correlated event and the emergency networkentity's geographic boundary. The method may further include determiningevent correlations based on the data inputs to generate a set ofcorrelated events by determining event correlations via a logiccomponent trained using machine learning. In some implementations themethod may apply corresponding emergency network dispatch rules to eachcorresponding correlated event by determining answers to a series ofquestions corresponding to the event type via a logic component trainedusing machine learning. The method may further include establishing aplurality of network connections with a plurality of emergency networkentities; and sending dispatch recommendations to each emergency networkentity based on the associations between the data inputs correspondingto each correlated event and with each emergency network entity'sgeographic boundary. In some implementations the method may determineemergency network dispatch rules for each correlated event based onevent type, by determining an event type for each correlated event as anevent type selected from the group of: a fire emergency event, a policeemergency event and a medical emergency event. Further, in someimplementations the method may include determining emergency networkdispatch rules for each correlated event based on event type, bydetermining that a correlated event includes a combination of at leasttwo event types selected from the group of: a fire emergency event, apolice emergency event and a medical emergency event.

The method may further includes sending a first dispatch recommendationrelated to a first event type to an emergency network entity for acorrelated event; and sending a second dispatch recommendation relatedto a second event type for the correlated event. Sending a seconddispatch recommendation related to a second event type for thecorrelated event may include sending the second dispatch recommendationrelated to the second event type to a second emergency network entity.

A disclosed apparatus includes: a network component, operative toconnect to the Internet; and event correlation logic, operativelycoupled to the network component. The event correlation logic isoperative to: receive data inputs for a plurality of events includingalarms, sensors, and mobile device emergency call and emergency alertrelated emergency data; determine event correlations based on the datainputs to generate a set of correlated events; determine emergencynetwork dispatch rules for each correlated event based on event type;apply corresponding emergency network dispatch rules to eachcorresponding correlated event; and send a dispatch recommendation to anemergency network entity for each correlated event based on applicationof the corresponding emergency network dispatch rules. The eventcorrelation logic may be further operative to dispatch emergencyresponders automatically by sending the dispatch recommendation toemergency responders corresponding to the emergency type for eachcorrelated event.

The apparatus may further include a geofence module, operatively coupledto the event correlation logic. The geofence module is operative todetermine the emergency network entity for each correlated event basedon associations between the data inputs corresponding to each correlatedevent and the emergency network entity's geographic boundary. In someimplementations, the event correlation logic is trained to determineevent correlations using machine learning. In some implementations theevent correlation logic is trained to apply corresponding emergencynetwork dispatch rules to each corresponding correlated event, bydetermining answers to a series of questions corresponding to the eventtype using machine learning.

The event correlation logic may be further operative to: establish aplurality of network connections with a plurality of emergency networkentities; and send dispatch recommendations to each emergency networkentity based on the associations between the data inputs correspondingto each correlated event and with each emergency network entity'sgeographic boundary. In some implementations, the event correlationlogic is operative to determine emergency network dispatch rules foreach correlated event based on event type, by determining an event typefor each correlated event as an event type selected from the group of: afire emergency event, a police emergency event and a medical emergencyevent. In some implementations, the event correlation logic is operativeto determine emergency network dispatch rules for each correlated eventbased on event type, by determining that a correlated event includes acombination of at least two event types selected from the group of: afire emergency event, a police emergency event and a medical emergencyevent.

The event correlation logic may be further operative to send a firstdispatch recommendation related to a first event type to an emergencynetwork entity for a correlated event; and send a second dispatchrecommendation related to a second event type for the correlated event.The event correlation logic may be operative to send a second dispatchrecommendation related to a second event type for the correlated event,by sending the second dispatch recommendation related to the secondevent type to a second emergency network entity.

Turning now to the drawings wherein like numerals represent likecomponents, FIG. 1 illustrates an emergency data manager 100 which isoperative to communicate with various emergency networks 170 including,but not limited to, multiple Enhanced 9-1-1 (E911) or Next Generation9-1-1 (NG911) emergency networks 170, via network connections 175. E911and NG911 emergency networks are defined according to the NationalEmergency Number Association (NENA) standards which define applicablenetwork architectures and protocols for communication between variousnetwork entities within the network architectures. Emergency networksare owned and operated by various emergency service providers (ESPs)such as, but not limited to, municipalities, state governments, andother public safety services (PSS) as well as private emergency serviceproviders such as corporate security, college campus security, etc. Theemergency services provided are for example, police, fire department,ambulance, etc. One type of emergency network is a public safetyanswering point (PSAP), which may handle emergency calls for police,fire and medical emergencies. Put another way, an ESP is an organizationthat owns and operates an emergency network where the emergency networkincludes the infrastructure, network entities, communication devices andother equipment required to provide the emergency services.

In FIG. 1 , double arrowed lines represent operative coupling which maybe implemented as backhaul connections between network entities, or aswireless connections between network entities and devices. Curved,dotted lines in FIG. 1 represent network connections or data connectionsover which data may be sent and received by respective devices, networkentities or by combinations of devices and network entities sending datato, and receiving data from, each other, accordingly. The networkconnections may be Internet connections and may further include VirtualPrivate Network (VPN) pathways or other secure connections. Theemergency data manager 100 is operatively coupled to emergency networks170 via operative coupling 178, which may be implemented as networkconnections 175 through the Internet 190. The network connections 175may include an Internet protocol (IP) connection between each of theemergency networks 170 and the emergency data manager 100 and may beconnection oriented or connectionless. For example, the networkconnections 175 may include IP connections which may include a TCP(Transmission Control Protocol, also referred to as Transport ControlProtocol) connection, a UDP (User Datagram Protocol) connection or acombination of both such as UDP over TCP, etc., or a combination of TCPand UDP connections, etc. An IP connection may further employ one ormore TCP sockets or one or more WebSocket connections. The emergencynetworks may have backhaul connections 173 to the Internet 190 andbackhaul connections 176 to national or regional emergency networks 180.

The emergency data manager 100 is also operatively coupled to variousalarms 196 such as, but not limited to, burglar alarms, fire alarms,carbon monoxide alarms, water level alarms etc., and to various sensors197 such as, but not limited to video cameras, motion detectors, audiosensors, glass break detectors, heat sensors, water level sensors, andautomobile sensors such as airbag deployment sensors, collision sensors,gyroscopes and inertia detectors, etc. Some automobile sensors may beconsidered alarms. The various alarms 196 may be operatively coupled toscreener networks 195 that receive the alarm data 198 outputs andperform alarm validation and scoring procedures. The screener networks195 are operatively coupled to the emergency data manager 100 via anInternet connection. The various sensors 197 may also provide sensordata 199 to the emergency data manager 100 via the Internet using anappropriate connectivity networks such as wireless networks 110 or viasome other means of Internet 190 connection.

The emergency data manager 100 may operate as an interface between theemergency networks 170, databases 120 and devices 160, to provideemergency data to the emergency networks 170. The emergency data manager100 is operative to retrieve various types of emergency data such aslocation data, medical data, sensor data, camera data and other data,etc., determine the appropriate emergency network 170 authorized toreceive specific emergency data, and provide that specific emergencydata to the authorized emergency network. The emergency data manager 100may, under some circumstances and for certain types of emergency data,store obtained emergency data in one or more databases which may bedistributed databases. Protected data may be stored in protected datadatabase 191 that may contain data that is subject to laws, regulationsor policies that define how the data is accessed and handled. Amongother things, the emergency data manager 100 is operative to obtainmobile device location data in response to a mobile device initiating anemergency call 103 or sending an emergency alert 105.

The emergency data manager 100 may communicate with, and retrieve andobtain data from, any of the various databases 120, any of which maycontain protected data, and may also receive and store emergency datafrom the devices 160. The emergency data manager 100 is operative todetermine the authorized emergency network using a geofence database 101which includes boundary information for all of the emergency networks170 and also for national or regional emergency networks 180.

The various emergency networks 170 may include various public safetyanswering points (PSAPs) which may answer emergency calls andaccordingly dispatch police, fire departments and ambulances. Eachemergency network such as, but not limited to a PSAP, may include anemergency dispatch center and employ a computer aided dispatch (CAD)system. Each emergency network 170 includes various emergency networkentities such as at least one emergency network entity 140 which may bea workstation implementing a CAD system, a call handling system etc.,and which provides various graphical user interfaces (GUIs) on a display141 for use by emergency network personnel. The term “emergency networkentity” refers to a hardware apparatus used to access or implement anemergency network such as, but not limited to, workstations, servers,routers, switches, laptops, desktop computers, etc. An emergency networkentity hardware apparatus may include software or firmware related toits emergency network function.

Each individual emergency network 170 may include an emergency callhandling system which is operatively coupled to a PSTN (public switchedtelephone network) and various wireless networks 110 via appropriatebackhaul connections and call routing 171. The various emergencynetworks 170 are each operative to receive emergency calls 103 from avariety of devices 160 and a variety of device types. Each individualemergency network 170 may also receive emergency alerts 105 andestablish emergency sessions 108 from the various devices 160 over theInternet 190. An emergency alert 105 may be sent as, for example, shortmessage service (SMS) messages, SMS data messages, instant messages(IM), multi-media messages (MMS), email, or other formats of messagessent as Internet Protocol (IP) messages. For example, IP based messagesmay be sent using TCP, UDP, SIP, HTTP, or other mechanisms, etc.Emergency sessions 108 may also be established using these same, orother, IP protocols. An emergency session 108 refers to communicationover an Internet connection between any the various types of devices 160and an emergency network, where there is communication between one ofthe devices 160 and a particular emergency network of the emergencynetworks 170. The communication may be bi-directional. One example of abi-directional emergency session 108 is a Voice-over-IP (VoIP) callusing Session Initiation Protocol (SIP). Another example is an IP callusing H.323 protocol, or some other communication protocol, etc. Anemergency alert 105 may be, but is not limited to, data sent from adevice 160 to a given one of the emergency networks 170. Because theemergency alert 105 will contain information that identifies thespecific device 160 that sent the alert, the specific emergency networkthat received the emergency alert 105 may be able to respond to thedevice 160 by sending a response or acknowledgement message, or bymaking a call-back if the device 160 is for example, a mobile telephonesuch as a smartphone 107. The information that identifies a specificdevice 160 is referred to herein as a “device identifier.” That is, a“device identifier” refers to information allowing identification of thedevice or a user of the device, such as for example, a phone numberassociated with a user, an email address, physical address, coordinates,IMEI number, IMSI, TMSI, IP address, BSSID, SSID or MAC address.

The various types of devices 160 that may communicate with an emergencynetwork include, but are not limited to, desktop computers, laptopcomputers, tablets, mobile phones, smartphones 107, smartwatches 111 (orother health and medical tracking devices), medical bracelets 109, andvarious wired devices which may be Internet-of-Things (IoT) devices 113which are operative to send and receive data from a wireless networksuch as, but not limited to, a 5th generation mobile network (5Gnetwork). A medical bracelet 109 may be a type of IoT device and may beoperative to transmit an emergency alert 105 to an emergency network.Emergency calls may also be made from landline phones connected to aPSTN and medical bracelet 109 and/or health monitoring device, such as amedical bracelet 109, may use a wireless access point connected to thePSTN to place an emergency call 103 or send emergency alert 105. Somemedical devices, which may be implanted in the human body or connectedwith the human body such as, but not limited to, a pacemaker, an insulinpump, etc., may also be operative to send emergency alerts 105.

An “emergency alert” refers to a communication relating to an emergencyor non-emergency situation. That is, an emergency alert may be anemergency request for assistance where the emergency alert is associatedwith an emergency situation. An emergency alert may include informationrelated to a device, the device user, past and current location, or anindication of the type of emergency such as, but not limited to, police,fire, medical, CO level, traffic accident or some other information invarious combinations. An emergency alert may be associated with anon-emergency situation such as a request for a tow truck after a carbreaks down. In other words, a situation that requires assistance, butis not necessarily a life-or-death critical situation. Emergency alertsmay be associated with a device that sent the alert, or may beassociated with a device not sending the alert such as a device making aproxy request on behalf of a second device or a member device in a groupof devices, etc. An emergency alert may be “associated” with a device oruser when the emergency alert relates to an emergency or non-emergencysituation involving the device or user. Emergency alerts may includepointers to other sources of information such as, but not limited to,medical records and health data for the device user, or for anotherdevice user in a proxy situation, etc.

In one example of operation, an emergency alert 105 may be triggered bya device 160 in any of various ways such as, but not limited to, devicefall detection, by the user pressing a soft button or a physical button(i.e. a “panic button”), a voice command, a gesture, or autonomouslybased on other sensor data such as via a smoke, carbon-monoxide, burglaralarm, or some other alarm, etc. In some situations, the user mayconfirm the emergency or provide authorization for sending the emergencyalert 105.

Emergency data, such as enhanced location data, medical data, or otherdata, may be sent by the devices 160 to the various databases 120 andpushed to the emergency data manager 100 as part of the emergency alert105. The emergency data may be sent from the devices 160 as updates 106to a specific database of the various databases 120. The data updates106 may be pushed to the emergency data manager 100 based on asubscription of a particular device 160 to the emergency data manager100 services, or when a device 160 initiates an emergency session 108.In either case, the emergency data manager 100 may store the data in theprotected data database 191 for a period of time in anticipation of anemergency data request from one of the emergency networks 170. Theemergency data manager 100 is operative to provide emergency data in theprotected data database 191, or access and provide emergency data in thedatabases 120 in response to an emergency data request. An emergencynetwork 170 or an emergency responder device 150 may send an emergencydata request to the emergency data manager 100.

Each of the devices 160 may be operative to send data updates 106 fromtime-to-time, or based on a schedule, to various databases 120 and thisdata may subsequently be used as information included in emergencyalerts 105. The databases 120 may contain protected data in that thedata is subject to various statutorily defined protections, such as, butnot limited to, HIPPA, GDPR, or other statutorily defined dataprotection and data privacy requirements. The databases 120 may includelocation databases 121, medical databases 123 and other databases 125with various personally identifiable data related to device 160 users.The data contained in the databases 120 is referred to as “emergencydata” in that it may be retrieved by the emergency data manager 100, viaan IP connection 161, in response to a detected emergency detected bythe emergency data manager 100 or in response to an emergency datarequest.

Each emergency network 170 has at least one emergency network entity 140that includes one or more processors that are operative to execute oneor more emergency services related applications, a display 141 andemergency response logic 144 in accordance with the various embodiments.In some embodiments, the emergency response logic 144 may be implementedas an application executed by the one or more processors of theemergency network entity 140. The emergency response logic 144 isoperative to provide a graphical user interface (GUI) 143 on theworkstation display 141. During operation, the emergency network entity140 may also display other GUIs such as GUI 142, which may be relatedto, and provided by, other emergency response applications such as, butnot limited to, an emergency call handling application or a computeraided dispatch (CAD) application.

The emergency response logic 144 is operative to communicate with theemergency data manager 100. The emergency data manager 100 may beincluded within an emergency data management network 102 which mayinclude one or more servers, and one or more databases such as geofencedatabase 101 and protected data database 191. The emergency data manager100 may be implemented as a server having at least one processor, or maybe implemented as a distributed system with multiple servers,processors, memory and databases, and may further provide cloud-based,software-as-a-service (SaaS) features and functions and/or may beimplemented as SaaS using a platform-as-a-service (PaaS).

The GUI 143, in conjunction with the emergency response logic 144, areoperative to retrieve and display emergency data provided by theemergency data manager 100. More particularly, the GUI 143 providescommunication between an emergency network entity such as the emergencynetwork entity 140, and the emergency data manager 100. The GUI 143 maybe implemented as a web browser interface, such as a cloud-basedapplication interface (i.e. a software-as-a-service SaaS interface), orvia a web browser plug-in, or may be associated with an applicationrunning as executable instructions, executed by one or more processorson the emergency network entity 140, or by any other softwareimplementation mechanism. Emergency services personnel may receiveappropriate emergency services information and view emergency data viathe GUI 143.

Depending on the specific operations of the emergency network and theparticular type of emergency network entity 140 software, the GUI 142may be used by emergency services personnel to place dispatch calls toemergency responders, who receive the dispatch calls and emergency dataon various emergency responder devices 150 accordingly. Emergencyresponders, also referred to as emergency service providers (ESPs) mayutilize a variety of emergency responder devices 150 which may include,but are not limited to, desktop computers, laptop computers, tablets,mobile phones, smartphones, radios (i.e. walkie-talkies), in-vehiclecomputers, etc., all of which are operative to display emergency data tothe emergency responders. The devices 150 may be operative to sendemergency data requests 151 to a respective emergency network 170 andalso authentication data 153. The devices 150 communicate with theemergency networks 170 over a combination of wireless networks 110 andproprietary wireless networks that provide wireless communications links177. Each of the devices 150 may include a mobile emergency dataapplication, that provides a GUI 155 and that is operative tocommunicate with the emergency response logic 144 and the emergency datamanager 100. In response to emergency data requests 151, the emergencydata manager 100 is operative to provide limited access to emergencydata 157 to the emergency responder devices 150 based on theauthorization level of the specific emergency responder device 150 andassociated user.

An emergency data request 151 from an emergency responder device 150,may be sent either by a responder device 150, or by an appropriate oneof the emergency networks 170, to the emergency data manager 100 suchthat the emergency data manager 100 may identify the emergency and anyemergency data pertaining to the emergency stored by the emergency datamanager 100 or contained within the various databases 120. In response,the emergency data manager 100, may check authorization, and thenproceed to send the pertinent emergency data 157 to the requestingemergency responder device 150. In other words, in some implementations,the emergency data manager 100 may serve as a data pipeline foremergency responder devices 150 through which the emergency responderdevices 150 may request and retrieve reliable emergency data throughsecure pathways using defined protocols and formats. The emergency datamay be, but is not limited to: accurate location data, that is criticalfor responding to an emergency, medical data, sensor data, or otherdata, etc. The emergency data manager 100 is operative to obtainemergency data from various sources including other servers, databases120, devices 160, alarms 196 and sensors 197.

In one example of operation, an emergency alert 105 may be triggered bya device 160 in any of various ways such as, but not limited to, devicefall detection, by the user pressing a soft button or a physical button(i.e. a “panic button”), a voice command, a gesture, or autonomouslybased on alarm 196 data or sensor 197 data such via a smoke,carbon-monoxide, burglar alarm, or some other alarm, motion detector,camera, etc. In some situations, the user may confirm the emergency orprovide authorization for sending the emergency alert 105. In oneexample, an alarm data 198 from a burglar of fire alarm may be sent toone of various screener networks 195. Screener network personnel mayplace a call to a keyholder and request further validation. If the alarmis validated by the keyholder, the screener network personnel may assigna priority score to the alarm and send it as a prioritized alarm to theemergency data manager 100. Some alarm data 198 that does not first passthrough one of the screener networks 195 is received by the emergencydata manager 100 as unprioritized alarm data. The emergency data manager100 is operative to perform alarm verification and scoring procedures todetermine whether the alarm data should be pushed to one of theemergency networks 170.

Emergency data, such as enhanced location data, medical data, or otherdata, may be sent by a device 160 to an appropriate one of the emergencynetworks 170 as part of an emergency alert 105, or may be sent as dataupdates 106 to a specific database of the various databases 120. In someimplementations, and/or for certain types of emergency data, theemergency data manager 100 may push emergency data to a given emergencynetwork 170 as that emergency data is obtained by the emergency datamanager 100. An emergency network 170 may also, at any time, send anemergency data request to the emergency data manager 100 such that theemergency data manager 100 may search or query the various databases120. In some implementations, an emergency data search may be performedby the emergency data manager 100, using the IP connections 161 to thevarious databases 120, in response to an emergency alert 105, emergencycall 103, or emergency session 108 between a device 160 and one of theemergency networks 170. In one example, the emergency data manager 100is operative to receive Android™ Emergency Location Service (ELS) orAdvance Mobile Location (AML) data upon initiation of an emergency call103, emergency alert 105, or emergency session 108 by a device 160 thatutilizes the Android™ operating system. Upon receipt of ELS or AML data,the emergency data manager 100 is operative to push the ELS or AML datato the appropriate emergency network 170 based on a geofence analysisusing the geofence database 101. The emergency data manager 100 may alsoperform a search of the various databases 120 using a device identifierin the ELS or AML data to identify additional related emergency data andpush that emergency data to the appropriate emergency network 170.

The emergency data manager 100 or the emergency network 170 may formatstored emergency data or any received emergency data into a format thatis compatible with industry standards for storing and sharing emergencydata. For example, the emergency data may be formatted to be compatiblewith National Emergency Number Association (NENA) standards. Whereemergency data is stored by the emergency data manager 100, emergencydata requests may be sent to the emergency data manager 100 by anemergency network, such as via an HTTP GET request. For example,protected data may be stored in the protected data database 191 pendingreceipt of appropriate authorization credential by the emergency datamanager 100. In other words, some emergency data may be pushed toemergency networks 170 upon receipt by the emergency data manager 100,while other data, if subject to the categorization of protected data,may only be sent upon receipt of proper authorization and/or inconjunction with an authorized emergency data request.

Emergency data requests 151, whether sent directly by a responder device150 or via an emergency network 170 may utilize Location InformationServer (LIS) protocol. For emergency data related to location, the datamay include, but is not limited to, device generated location data (suchas device 160 GPS chipset data), location information such asLocation-by-Reference, Location-by-Value, etc. from, for example a,Location Information Server (LIS) or from other sources. Such locationdata that contains multiple location determination method data isreferred to as hybrid location data.

Each of the emergency networks 170 may be operatively coupled, viaappropriate backhaul connections 176, to one or more national orregional emergency networks 180. The national or regional networks 180each include an emergency event application 181 which is operative to,among other things, display emergency events for a hierarchical view ofemergencies being handled by one or more of the emergency networks 170.

FIG. 2 provides further details of the emergency data manager 100. Theemergency data manager 100 includes event correlation logic 200 which isoperatively coupled to false alarm detection logic 210. The emergencydata manager 100 is also operatively coupled to emergency response logic144, which is within an emergency network entity 140 of an emergencynetwork. The event correlation logic 200 is operative to receiveprioritized alarm data 213 from various screener networks 207, andnon-prioritized alarm data 215 from various alarms 201 via variousconnectivity networks 205. The alarms 201 are operatively coupled to theconnectivity networks 205 via various connections 209 which may includewired or wireless connections. The connectivity networks 205 include thewireless networks 110 and the Internet 190. The screener networks 207are operatively coupled to various alarms 201 via the connectivitynetworks 205 and receive alarm data 211 which includes identificationinformation such as an alarm identifier, and address or otherinformation.

Various sensors 203 are also operatively coupled to the connectivitynetworks 205 via various connections 217 which may include wiredconnections or wireless connections. The sensors 203 are operative tosend sensor data 219 to the event correlation logic 200 via the variousconnectivity networks 205 which may include the Internet 190. The eventcorrelation logic 200 also receives mobile device emergency call data229 from various mobile devices 221, and mobile device alert data 231from the same or other mobile devices 223. The mobile devices 221communicate wirelessly by wireless connections 225 with the variousconnectivity networks 205. Likewise, mobile devices send alert data overconnections 227 which may be Internet connections implemented using thesame wireless connections.

The event correlation logic 200 is operative to perform correlationoperations on all data which it receives from the various sources. Thecorrelation operations are based on machine learning and data collectionand analysis by machine learning algorithms performed over a period oftime. The event correlation logic 200 is operative to receive input dataand evaluate whether it is related to other input data received during agiven time interval. For example, if mobile device emergency call data229 is received, the event correlation logic 200 will evaluate whetherany prioritized alarm data 213, non-prioritized alarm data 215, sensordata 219 or mobile device alert data 231 is in any way related to theemergency call data 229. Any correlation determinations that are made bythe event correlation logic 200 are conveyed to the emergency responselogic 144 to enhance the emergency network response to the situation.

The event correlation logic 200 also provides an input to false alarmdetection logic 210. The false alarm detection logic 210 is operative toanalyze correlated events involving non-prioritized alarm data 215 todetermine whether an actual alarm condition exists, or whether a falsealarm condition has been generated. The false alarm detection logic 210is operative to report on alarm conditions to the emergency responselogic 144 such that emergency network personnel operating the emergencynetwork entity 140 can appropriately respond to alarms and moreparticularly, to avoid dispatching emergency service personnel based onfalse alarm conditions.

The event correlation logic 200 is able to evaluate non-prioritizedalarm data 215 based on a variety of factors including proximity. Forexample, if non-prioritized alarm data 215 is received, sensor data 219may be received that is related to sensors 203 that are in a physicalproximity to the alarms 201 that generated the non-prioritized alarmdata 215. Additionally, mobile device emergency call data 229 may havealso been received from mobile devices that are in a location nearby thelocation from which the non-prioritized alarm data 215 was generated. Inaddition to location, the time of receipt of data is also used by theevent correlation logic 200 to make event correlation determinations.

The false alarm detection logic 210 evaluates correlated event databased on additional criteria such as whether prioritized alarm data 215and sensor data 219 have additional relationships useful for indicatingthat an alarm is legitimate. For example, if non-prioritized alarm data215 is received from a burglar alarm, in conjunction with sensor data219 from glass break sensors that are located in the same building asthe burglar alarm, this information may be used to determine that theburglar alarm is an actual alarm rather than a false alarm. Additionalsensor data 219 may also be such as, but not limited to, sound sensordata, camera video sensor data, motion detector data, etc. The falsealarm detection logic 210 is operative to assign a score tonon-prioritized alarm data 215 and convey the non-prioritized alarm data215 along with the score to the emergency response logic 144 whereemergency personnel may respond accordingly.

Both the event correlation logic 200 and false alarm detection logic 210are also operative to perform automated dispatch operations using theemergency response logic 144, based on threshold levels agreed upon bythe particular emergency network responding to the emergency event. Moreparticularly, in some embodiments, the event correlation logic 200 isoperative to perform a dispatch analysis on correlated events todetermine whether or not emergency service personnel should bedispatched to the scene of a correlated event. The event correlationlogic 200 may also receive input back from the false alarm detectionlogic 210 such that a correlated event that has a non-false alarmindication is subjected to the automated dispatch analysis prior tointeracting with the emergency response logic 144.

FIG. 3 provides an example implementation of the emergency data manager100 which is an apparatus shown in FIG. 1 and FIG. 2 . The emergencydata manager 100 includes network components 302, at least one processor310, and at least one non-volatile, non-transitory memory 330 inaddition to RAM (random access memory). The at least one processor 310is an emergency data management processor and is another type ofapparatus disclosed herein. The network components 302 may include oneor more network transceivers for Ethernet connectivity to other networkentities and an Internet connection. The memory 330 stores executableinstructions and data such as operating system 331 executableinstructions and various application executable instructions 332. Theoperating system 331 executable instructions and the applicationexecutable instructions 332 may be executed by the at least oneprocessor 310.

The memory 330 also stores data 333 which may provide a location andgeofence data cache, other data caches and other data, etc., emergencynetwork profiles 335 which provide login credentials, settings and otherdata related to emergency networks that access the emergency datamanager 100, and dispatch rules 337.

The processor 310 may be implemented as one or more microprocessors,ASICs, FPGAs, microcomputers, microcontrollers, digital signalprocessors, central processing units, state machines, logic circuitries,and/or devices that manipulate signals based on operationalinstructions. Among other capabilities, the processor 310 is configuredand operative to fetch and execute computer-readable instructions (i.e.executable instructions) stored in the memory 330. For example, theoperating system 331 executable instructions, when executed by the atleast one processor 310, may provide a kernel 351, libraries 353 (i.e.application programming interfaces or “APIs”), an application layer 350or “user space” within which the various applications are executed, andan IP protocol stack 355. The applications executable instructions 332,when executed by the at least one processor 310, also provide dataretrieval modules 371, data ingestion modules 373, a geofence module375, a mapping module 377, and one or more emergency network managers379. Emergency network profiles 335, stored in memory 330, may beaccessed by the various modules and the emergency network managers 379to access information needed to communicate with various emergencynetworks. The emergency network managers 379 communicate with the othermodules of application 370 via a set of APIs 378. The processor 310 mayfurther execute a set of application agents 357 which facilitatecommunication between the IP protocol stack 355 and the application 370via various APIs 358. The application agents 357 are operative to, amongother things, provide API communication between the various applicationsand the kernel 351.

In accordance with an embodiment, the emergency data manager 100includes event correlation logic 300 and false alarm detection logic 320that may each be implemented as applications executed by the at leastone processor 310. The event correlation logic 300 and false alarmdetection logic 320 perform operations as described with respect to FIG.2 . In some embodiments, either or both of the event correlation logic300 and the false alarm detection logic 320 may be implemented usingASICs, FPGAs, DSPs, or combinations thereof. For example, the eventcorrelation logic 300 may be implemented as an ASIC and the false alarmdetection logic 320 may be implemented as an ASIC that are operativelycoupled to each other and to the at least one processor 310.

The emergency data manager 100 may be implemented as a cloud server. Theterm “cloud server” as used herein, refers to a server, accessible by anInternet connection, that is operative to host one or more applicationsthat may be accessed by a computing device using a Web browser or anapplication resident on the computing device. The emergency data manager100 is operative to provide a cloud-based application such as asoftware-as-a-service (SaaS) accessible remotely using a computer orworkstation connected to the Internet and operatively coupled to theemergency data manager 100. The emergency data manager 100 may beimplemented as SaaS software executed using a platform-as-a-service(PaaS) that enables development and execution of cloud-basedapplications.

All of the components of the emergency data manager 100 are operativelycoupled by an internal communication bus 301. As used herein, componentsmay be “operatively coupled” when information can be sent between twosuch components, even though there may be one or more intermediate orintervening components between, or along the connection path. Therefore,any of the various components with the emergency data manager 100, andin other example network entities and devices described herein, may beunderstood herein to be operatively coupled to each other whereappropriate, and to be executing on one or more processors that arefurther operatively coupled to a memory that stores executableinstructions (also referred to as “software code” or “code”) forimplementing the various components. Operative coupling may also existbetween engines, system interfaces or components implemented as softwareor firmware executing on a processor and such “software coupling” may beimplemented using libraries (i.e. application programming interfaces(APIs)) or other software interfacing techniques as appropriate. Suchlibraries or APIs provide operative coupling between various softwareimplemented components of FIG. 3 . A “module” as used herein may be asoftware component. That is, the data retrieval modules 371, dataingestion modules 373, a geofence module 375, a mapping module 377, andone or more emergency network managers 379 are all operatively coupledto each other via APIs 378 and are operatively coupled to the IPprotocol stack 355 and to the application agents 357 via APIs 358.

All of the components and modules described herein may be implemented assoftware or firmware (or as a combination of software and firmware)executing on one or more processors, and may also include, or may beimplemented independently, using hardware such as, but not limited to,ASICs (application specific integrated circuits), DSPs (digital signalprocessors), hardwired circuitry (logic circuitry), or combinationsthereof. That is, any of the components or modules disclosed herein maybe implemented using an ASIC, DSP, FPGA executable instructionsexecuting on a processor, logic circuitry, or combinations thereof. Inother words, the components and modules may be implemented as hardware,software or by combinations thereof. Therefore, each of the componentsand modules disclosed herein may be considered a type of apparatus thatmay be implemented and operate independently from the other componentsin the system. For example, any one of the data retrieval modules 371,data ingestion modules 373, geofence module 375, mapping module 377,event correlation logic 300, false alarm detection logic 320, oremergency network managers 379 may be implemented using an ASIC, DSP,FPGA, executable instructions executing on a processor, logic circuitry,or combinations thereof.

The various embodiments also include computer readable memory that maycontain executable instructions, for execution by at least oneprocessor, that when executed, cause the at least one processor tooperate in accordance with the emergency data manager 100 and otherfunctionality herein described. The computer readable memory may be anysuitable non-volatile, non-transitory, memory such as, but not limitedto, programmable chips such as EEPROMS, flash ROM (thumb drives),compact discs (CDs) digital video disks (DVDs), optical drives, etc.,that may be used to load executable instructions or program code toother processing devices or electronic devices such as those that maybenefit from the features and methods of operation herein described. Theexecutable instructions may also include the various operating systemenvironments and the kernel. For example, the memory 330, which is anon-volatile, non-transitory memory, may store executable instructionsfor execution by the at least one processor 310 that when executed,provide the data retrieval modules 371, data ingestion modules 373,geofence module 375, mapping module 377, event correlation logic 300,false alarm detection logic 320, or emergency network managers 379.

The emergency data manager 100 is operatively coupled to a geofencedatabase 101 which stores jurisdictional boundary data for variousemergency networks 170 as well as for the national or regional emergencynetworks. The geofence module 375 is operative to access the geofencedatabase 101 and determine which emergency network 170 should receivespecific emergency data obtained by the data ingestion modules 373,based on analysis of the geofences specified in the geofence database101. The emergency data manager 100 is operative to store and retrieveemergency data from the various databases 120, and may function as aninterface between emergency networks, the various databases 120 anddevices 160 to receive and store emergency data. The stored emergencydata can be transmitted or distributed to emergency networks andemergency responder devices 150 before, during, or after emergencies.The emergency data manager 100 is operatively coupled to a protecteddata database 191 which stores protected data related to emergencies.Protected data is either not stored by the emergency data manager 100 oris stored only for a predetermined period of time as defined by laws,regulations or policies, in the protected data database 191. Theemergency data manager 100 may receive emergency data from any of thedevices 160 and such data may include, but is not limited to, locations,medical history, personal information, or contact information. Theemergency data manager 100 may receive emergency data from any of thedevices 160 and such data may include, but is not limited to, locations,medical history, personal information, or contact information. Theemergency network managers 379 are operative to check emergency networkcredentials to determine authorization and access levels to protecteddata stored in the protected data database 191 or in the other databases120.

The emergency data manager 100 includes data ingestion modules 373 anddata retrieval modules 371. The data ingestion modules 373 are operativeto communicate with the various databases 120 and with the variousalarms 196 and sensors 197 to obtain emergency data and may include alocation ingestion module, an additional data ingestion module, and oneor more multimedia ingestion modules. The location ingestion module isan emergency location service ingestion interface which is operative topost or receive emergency locations. The location ingestion module maybe a REST API that is operative to receive an HTTP POST includinglocation data when an emergency alert 105 is generated or when anemergency call 103 is received from a device 160. The location data mayinclude a location generated concurrently or in response to thegeneration of the emergency alert 105, which may initiate an emergencycall 103 or emergency session for requesting emergency assistance. Thisgenerated location data may be, for example, location data from a device160 GPS chipset, such as GPS coordinates. This data may also includedata from a device 160 inertial-measurement-unit (IMU). The locationdata may be generated before an emergency alert 105 such as, forexample, when a medical bracelet IMU detects that a patient has fallen.In another example, when an emergency call 103 is made from a device160, the location ingestion module of the data ingestion modules 373 mayreceive a location recently generated by the device 160 GPS chipset, orby a device 160 triangulation algorithm, or other device 160 locationmechanism, thereby ensuring that a location for the emergency isavailable as quickly as possible. The location data may include adevice-based hybrid location generated by a device 160 which has sent anemergency alert 105. A GPS chipset within the device 160 may generatethe location data. The location data may also include a location datagenerated by a second device 160 that is communicatively coupled to thedevice 160 that sent the emergency alert 105. For example, a wearabledevice such as a medical bracelet or smartwatch, that does not includelocation capabilities, may use the location services location from amobile phone with which it is paired. The location ingestion module ofthe data ingestion modules 373 may communicate with a device 160 via amobile application installed on the device 160 or via firmware or anoperating system of the device 160.

The location data generated by a device 160 prior to an emergencyoccurrence may be accessible by an authorized one (based on device 160location) of the emergency networks 170 during an emergency. Forexample, a taxi company may have software that transmits the location ofits cars or assets to the emergency data manager 100, or another server,preemptively. Thus, when an emergency arises, the location of theaffected taxi can be made accessible quickly to send for help. Further,location data generated by a device 160 after an emergency has commencedmay be made accessible to one of the emergency networks 170 during theon-going emergency. For example, updated location data of a hijackedtaxi may be periodically transmitted to the emergency data manager 100and made accessible to one or more of the emergency networks 170.

The data ingestion modules 373 may also provide an interface for postingor receiving static or dynamic emergency profile data. Such additionaldata may include, but is not limited to, medical data, personal data,demographic data, and health data, which may be obtained from thevarious databases 120. For example, medical data may include informationrelating to a person's medical history, such as medications the personis currently taking, past surgeries or preexisting conditions. Personaldata may include a person's name, date of birth, height, weight,occupation, addresses such as home address and work address, spokenlanguages, etc. Demographic data may include a person's gender,ethnicity, age, etc. Health data may include information such as aperson's blood type or biometrics such as heart rate, blood pressure ortemperature. Additional data may further include data received fromconnected devices such as vehicles, IoT devices 113, and wearabledevices such as medical bracelet 109, smartwatch 111 or other devices,alarms 196 and sensors 197, etc. Each of the sensors 197 may be IoTdevices. Some sensors may be clustered and connected to a centralizedsensor hub that is operative to connect to the Internet 190 andcommunicate with the emergency data manager 100 via the data ingestionmodules 373.

Some alarms 196 may also be accompanied by, or integrated with, varioussensors. For example, intelligent vehicle systems may generate and sendsensor data regarding a crash, such as the speed at which the vehiclewas moving just before the collision, where the vehicle was struck, thenumber of occupants, etc. as part of, or along with, a collision alarmindication. The data ingestion modules 373 may be implemented in wholeor in part using a REST API, for example using JSON (JavaScript ObjectNotation).

In one example of operation, if an emergency call 103 is made from amobile phone, or if an emergency alert 105 is sent, the mobile phone mayreceive a heart rate of the person who made the emergency call from asmartwatch 111 worn by the person and communicatively coupled to thecell phone via a Wi-Fi™ or Bluetooth™ connection or some other wirelessconnection. The mobile phone may therefore send the heart rate to thedata ingestion modules 373, along with any other additional data, in anHTTP POST. The data ingestion modules 373 may communicate with a device160 via a mobile application installed on the device 160 or integratedinto the firmware or operating system of the device 160. Additional datamay also be sent to the data ingestion modules 373 from a networkserver. The data ingestion modules 373 may be accessed by any connectedplatform that receives data that might be relevant in an emergency.Connected platforms, such as the various databases 120, may thereforesend additional data to the data ingestion modules 373 at any time. Awebsite, web application, or mobile application may communicate with thedata ingestion modules 373 and may allow device 160 users to createprofiles to send additional data included in the profiles to the dataingestion modules 373 every time a profile is created or updated.

The data ingestion modules 373 may also include a multimedia ingestionmodule to provide an interface for posting or receiving data such asaudio or video streams obtained during an emergency from a device 160that is proximal to the emergency of from a video camera operating as asensor 197. In one example of operation, if an emergency alert 105 isgenerated by an intelligent vehicle system installed in a vehicle inresponse to the vehicle experiencing a collision, the emergency alert105 is sent to one of the emergency networks 170 by the intelligentvehicle system or by another device 160 communicatively coupled to theintelligent vehicle system, such as a mobile phone coupled to theintelligent vehicle system via Bluetooth™. In response to generating theemergency alert 105, the intelligent vehicle system, or a proximalcamera serving as a sensor 197, may additionally begin streaming audioand video from microphones and cameras. The intelligent vehicle systemmay include cameras installed inside or outside of the vehicle. Thestreaming audio and video is streamed to the emergency data manager 100through the data ingestion modules 373. A mobile phone communicativelycoupled to the intelligent vehicle system may additionally oralternatively stream audio or video from microphones and camerasintegrated into the mobile phone to the emergency data manager 100through the data ingestion modules 373. One or more multimedia ingestionmodules of the data ingestion modules 373 may be implemented wholly orpartly using REST APIs that are accessed with an HTTP POST.

After receiving the relevant data, the data ingestion modules 373 canstore the data in one or more databases operatively coupled to theemergency data manager 100, such as the protected data database 191. Theemergency data manager 100 may be operatively coupled to databases suchas, but not limited to, a location database, the geofence database 101,the protected data database 191 etc. The emergency data manager 100databases may also be operatively coupled to, or otherwise accessibleby, one of the emergency networks 170. The data ingestion modules 373are operative to tag or otherwise associate received data with anidentifier of a user or specific device 160 associated with the data.For example, the data ingestion modules 373 may tag received data with auser ID number, an email address, or a phone number (i.e. caller ID), aMAC address, an alarm ID, a sensor ID, or other device or useridentification information, etc. The data ingestion modules 373 may alsotag received data based on the data source using, for example, a devicename or type, an application name, user name, phone number, corporateaccount, or etc. All data received by the data ingestion modules 373 isalso analyzed by the geofence module 375 to determine which emergencynetwork 170 should receive the data, and by the event correlation logic200 to determine what segments of data a related to the same event.

An individual or group of individuals may be associated with multipleidentifiers. In an example of operation, if the data ingestion modules373 receive a location generated by a phone associated with the phonenumber+1-555-555-5555, associated with John Doe, the data ingestionmodules 373 may also receive a heart rate from a smartwatch associatedwith the email address jobndoe@email.com, which is an identifier that isalso associated with John Doe. In this example, the data ingestionmodules 373 tag the location with the phone number “+1-555-555-5555,”and tag the heart rate with the email address “johndoe@email.com,”thereby associating both the location and the heart rate with John Doein the emergency data manager 100 databases. The event correlation logic200 performs further correlation analysis and may also generated anauto-dispatch signal which is sent to emergency response logic 144 on anemergency network entity 140.

Ingestion data that enters the emergency data manager 100 may includevarious data fields and associated data entries within the data fields.The emergency data manager 100 maintains a list of expected data fieldsso that the data entries can be entered within a specific data field.

The emergency data manager 100 may include data retrieval modules 371such as a location retrieval module, an additional data retrievalmodule, and one or more multimedia retrieval modules. For example, alocation retrieval module may provide an interface for retrievinglocation data from the emergency data manager 100 databases. Thelocation retrieval module may be implemented wholly or partly via a JSONREST API that is operative to receive a query or request such as, butnot limited to, an HTTP GET request, from the emergency networks 170 oran emergency responder device 150.

The data retrieval modules 371 may provide a single GET endpoint forretrieving either the latest or paginated list of locations for aspecific caller ID, and/or associated protected data from the protecteddata database 191. For example, a phone number associated with a device160 from which a location was received may be included in a header,body, or metadata of a request sent to the data retrieval modules 371.The emergency data manager 100 may then retrieve a location or set oflocations from the emergency data manager 100 databases and deliver thelocation or set of locations to the relevant authorized emergencynetwork 170 or to an emergency responder device 150 associated with theauthorized emergency network. The location retrieval module of the dataretrieval modules 371 may be a location information server (LIS), inwhich the LIS may further be a NG911 standards-based XML API for theretrieval of location data from the emergency data manager 100databases. The location retrieval module of the data retrieval modules371 may be operative to accept HELD requests from the emergency networks170 or from emergency responder devices 150 and to return location datafor a specific caller ID or anonymous reference.

The data retrieval modules 371 may also include an additional dataretrieval module implemented as a JSON REST API for the retrieval ofemergency or additional data. Additional data may include, but is notlimited to, medical data, personal data, demographic data, health dataor other data which may be protected data. Additional data may alsoinclude data received from connected devices 160 such as, but notlimited to, vehicles, IoT devices, and wearable devices, alarms 196 andsensors 197. The additional data retrieval module of the data retrievalmodules 371 may be operative to receive a query or request, such as anHTTP GET request, from an emergency network 170 or emergency responderdevices 150. The additional data retrieval module of the data retrievalmodules 371 may then, in response to a request, retrieve additional dataassociated with a specific or particular identifier of a user or adevice 160 associated with the user, such as a phone number, and returnthe data to the emergency network 170 or emergency responder device 150.The data retrieval modules 371 may further include one or moremultimedia retrieval modules, which function similarly to the locationretrieval module and additional data retrieval module, for the retrievalof data stored in the emergency data manager 100 databases not retrievedby the location retrieval module or additional data retrieval modulesuch as multimedia streaming data.

The emergency data manager 100 determines which of the emergencynetworks 170 and associated emergency responder devices 150 haveauthorization to receive particular types of emergency data. Theemergency network managers 379 are operative to access emergency networkprofiles 335 and determine access levels to emergency data for emergencynetwork entities and personnel. For example, a given emergency network170 or emergency responder device 150 may, in certain circumstances, begranted access only to a particular subset of emergency data. Forexample, a police officer may only be given access to the locationemergency data, while an EMT (emergency medical technician) may only begiven access to an additional data emergency data. However, a givenemergency network such as a national or regional emergency network, orassociated emergency responder device 150, may be given differentialaccess to the entirety of the emergency data, or to particular emergencydata categories within the databases based on any factor or set offactors. A management portal may be provided by the emergency networkmanagers 379 to determine which emergency data categories are returnedfrom one of the emergency networks 170 to a particular emergency network170 or emergency responder device 150. Other data services correspondingto the various databases 120 may also be coordinated with respect togranting access to protected data.

During an emergency, the emergency data manager 100 is operative todetect the emergency and/or otherwise identify the need to provideemergency data pertaining to the emergency. In response to detecting anemergency, the emergency data manager 100 is operative to identify anyemergency data pertaining to the emergency stored within the databases120 and protected data database 191, and retrieve and transmit thepertinent emergency data to the appropriate emergency network 170. Theemergency data manager 100 may act as a data pipeline that automaticallypushes emergency data to emergency networks that would otherwise bewithout access to emergency data that is critical to most effectivelyand efficiently respond to an emergency. Location data stored within,and/or obtained and provided by, the emergency data manager 100, enablesemergency responders to arrive at the scene of an emergency faster, andthe additional emergency data stored within, and/or obtained andprovided by, the emergency data manager 100 enables emergency respondersto be better prepared for the emergencies they face. The eventcorrelation logic 300 correlates all incoming data such that aconsolidated view of an emergency situation can be provided to anemergency network. The false alarm detection logic 320 performs scoringoperations which enable emergency network personnel to prioritizedispatch operations and, in some embodiments, to provide anauto-dispatch function in conjunction with the event correlation logic300.

The emergency data manager 100 is operative to provide a cloud-basedapplication to multiple emergency networks 170 by establishing networkconnections via the IP protocol stack 355, with various emergencynetwork entities such as a call handling workstation, CAD workstationetc. Other examples of emergency network entities include, but are notlimited to, servers, desktop computers, laptops, routers, switches, etc.that are operative to send and receive data. The network connections maybe transport control protocol (TCP) connections and may utilizeWebSocket connections between the emergency data manager 100 and anemergency network entity. The geofence module 375 is operative todetermine emergency network jurisdictional boundaries and to show thejurisdictional boundaries on a graphical user interface as ajurisdictional map view. The mapping module 377 is operative to generatethe jurisdictional map view and to also post emergency data locations aslocation indicators on the map. For example, location indicators mayshow the location of incoming emergency calls that the emergency networkhas received, or is receiving, as well as any incoming alarms andalerts. The emergency network managers 379 provide authentication andlogin capabilities for the various emergency networks and enable APIs378 for communication between the emergency network entities and thedata ingestion modules 373, data retrieval modules 371, geofence module375, and mapping module 377.

Emergency networks 170 and their corresponding emergency networkentities are associated with a given geographic boundary. Based on thegeographic boundary for a respective emergency network 170, ajurisdictional map view customized for the respective emergency network170 may be generated and provided to emergency network entities 140,such as workstations, for display. Within the jurisdictional map viewfor a given emergency network 170, location indicators for emergenciesoccurring within its geographic boundary may be displayed. Thejurisdictional map view for a given emergency network 170 may includeone or more geofences associated with the respective emergency network170 and surrounding areas.

The geofence module 375 is operative for managing geofence data foremergency networks 170 including assigning geofences to one or moreemergency responder devices 150 or emergency network members, etc. Theemergency data manager 100, via the geofence module 375, is operative tofilter all incoming emergency data related to devices 160, by geofences.Emergency networks 170 utilize geofences that define jurisdictionalboundaries within which a specific emergency network is authorized torespond to emergencies. For example, a city police department may havejurisdictional authority over the entire city, or of only a portion ofthe city. A geofence would represent the perimeter of the portion of thecity that the respective police department serves. A geofence maytherefore be considered a representation of a virtual perimeteroverlaying a real-world geographic area.

Geofences may be used to define a county boundary, a state boundary, acollection of postal/zip codes, a collection of cell sectors, or etc. Ageofence may be defined using simple shapes such as rectangle, triangle,circle, etc., or may be defined using complex polygons, etc. Geofencesmay also refer to approximations where the “approximated” geofenceencloses an approximation of a jurisdictional boundary or some otherboundary and may also include buffer regions extending outside theperimeter, for example one-mile or such beyond the primary geofenceperimeter.

Some geofences can be dynamically generated by the emergency datamanager 100. For example, a dynamic geofence may be generated as aradius around a point location at which an emergency is occurring. Inanother example, a geofence may be represent non-emergency networkboundaries such as school zones or neighborhood boundaries, etc. The useof a geofence is referred to as geofencing. One example of geofencinginvolves a location-aware device or a location-based service (LBS)monitoring when the device enters or exits a given geofence. This meansthat the device is monitored within the geographic boundaries defined bythe given geofence. Entry or exit from given geofence by the device maytrigger an alert to the device's user as well as messaging a givennetwork monitoring the geofence. The monitoring network may be anemergency network 170 but could be other types of networks as well. Thegeofence information may contain the device location, which could besent to a mobile telephone, an email account or to some other system ornetwork entity.

In the context of emergency services, one or more geofences maycorrespond to the jurisdictional boundaries of an emergency network 170.The emergency network 170 may be operated by a public entity and may befor example, a public safety answering point (PSAP), a policedepartment, a fire department, a federal disaster management agency,national highway police, etc., which have jurisdiction over a designatedarea and, sometimes, overlapping areas. Geofences are used to define thejurisdictional boundaries using various Geographic Information System(GIS) formats. A GIS file format refers to one or more standards forencoding geographical information into a computer file.

For maintaining the privacy, security and integrity of emergency data,geofencing is applied to ensure that emergency data flows only theemergency network 170 having authority to access the information andresponds to the given emergency. Applying geofence filters to theemergency data also allows additional avenues for monitoring, bothvisibility and control, over the emergency data manager 100 to detectanomalies or spikes and to reduce the risk of security breaches. Thegeofence module 375 monitors all accesses to emergency data, bothincoming and outgoing from the emergency data manager 100 and isoperative to filter emergency data to the appropriate authorizedemergency network 170 or emergency responder device 150.

In an example of emergency data manager 100 operation, an emergencyalert may be triggered by a given device 160, for example by falldetection, by a user pressing a soft button, a physical button,initiating a voice command, or gesture, or autonomously based on sensordata such as from a smoke detector. In this example, the user may beprompted to confirm the emergency or otherwise provide authorization forsending the emergency alert. However, for a fall detection scenario, aconfirmation would not be required because the patient may beincapacitated. Emergency data, such as an enhanced location andadditional data regarding the user, such as the user's medical history,may then be delivered by the device 160 to the emergency data manager100 and stored in a database such as protected data database 191. Theemergency data manager 100 may format the emergency data into a formatthat is compatible with industry standards for storing and sharingemergency data. For example, the emergency data may be formatted to becompatible with National Emergency Number Association (NENA) standards.The emergency data manager 100 may then perform a push operation to pushthe emergency data to an authorized emergency network entity. After thepush operation, the emergency data manager 100 may delete anytemporarily stored data if required for compliance with privacy laws,regulations and policies. For medical data, the emergency data manager100 may push a candidate profile that provides basic information to beused by emergency network 170 personnel to identify a patient. Once theemergency network 170 personnel select the candidate profile on theirGUI 143, the protected data for which they are authorized to receivewill be pushed to their emergency network entity 140. Likewise,emergency personnel in the field may receive the protected data using anemergency data application and via a GUI 155 on an emergency responderdevice 150.

Alternatively, or in addition to push operations, emergency data mayalso be obtained by the emergency networks 170, such as by a PSAPresponding to an emergency alert, by sending a query to the emergencydata manager 100. The query may be an emergency data request using, forexample, an HTTP GET request. The emergency data request may also be inthe form required by the Location Information Server (LIS) protocol. Inresponse to the emergency data request, the emergency data manager 100sends an appropriate response including relevant emergency data to therequesting party via an encrypted pathway. The emergency data requestmay be in the form of an HTTP-Enabled Location Delivery (HELD) and theresponse from the emergency data manager 100 may be in the form of aPresence Information Data Format Location Object (PIDF-LO) as defined bythe Internet Engineering Task Force (IETF).

The emergency data request includes an authorization code, also referredto as an “authorization token”, in the body, header, or metadata of therequest, and the emergency data manager 100 checks that theauthorization code is active before providing a response to therequesting party. Authorization may be provided in the “Authorization”header of the emergency data request using HTTP Basic Authentication.For example, authorization may be a base64-encoded user name andpassword for an account associated with the requesting party. Emergencydata requests are sent over public networks using API access keys orcredentials. Transport Layer Security (TLS) may be used in the requestsand responses from the emergency data manager 100 for encryptionsecurity. In some implementations, the API access keys or credentialsare sent using Extensible Markup Language (XML) in a message header andmay be further encrypted for additional security. If an emergency datarequest includes an inactive or expired credential or access key, anerror response may be generated and sent to the requesting entity by theemergency data manager 100. The emergency network managers 379 areoperative to verify the access keys or credentials and enable the dataretrieval modules 371 to respond to verified authorized emergency datarequests by sending the pertinent emergency data.

Emergency data may include locations and additional data such asprotected data. Emergency data may include one or more emergency datacategories, also referred to as “data categories”. The emergency datacategories may include, for example: service data reference, full name,email, emergency contacts, addresses, language, occupation, phonenumbers, websites, gender, height, weight, ethnicity, profile picture,allergies, medical conditions, medications, disabilities, blood type,medical notes, birthday, and additional comments. Emergency datacategories may be tagged with tags for specific types of data such as“demographics” or “medical data.” For example, gender, height, weight,ethnicity, profile picture (image-url) may be tagged as demographicdata. Medical data protected under HIPAA and other laws may be tagged as“HIPAA” or “private.” Medical data may include information on one ormore of allergies, medical conditions or illnesses, medications,disabilities, blood type, medical notes, and other medical information.Medical information protected under HIPAA are encrypted and/oranonymized. Some data are tagged as “general” or another similar tag,wherein access is not specifically restricted.

The emergency data manager 100 may store emergency data requested by anemergency network entity 140 in a remote database, such as the protecteddata database 191, for a certain period of time after receiving therequest for the emergency data regarding a user and any electronicdevices 160. A purge period of time may be set as a timer value, such asa timer countdown or a set time point, which may be defined by theemergency network that sent the emergency data request. An emergencydata purge period may be, for example an interval between one toforty-eight hours, or between one to twelve hours. However, a purgeperiod may be less than one hour due to security and privacy concerns,such as between one and forty-five minutes, or any time interval fromfive to thirty minutes.

After a timer for an emergency data purge has expired, and if no newrequests for the emergency data pertaining to the particular user andthe particular electronic device 160, or other devices associated withthe user, are received, the emergency data manager 100 may mark anyparticular related database entries for deletion and wait for another,different, time-out interval. After a particular second time-outinterval has also been completed, and if no new requests for emergencydata for the particular user or associated electronic devices 160 arereceived, then the emergency data manager 100 may remove the specificmarked entries from the databases in the next cycle of database updates.

After adding the emergency data in a database such as protected datadatabase 191, the emergency data manager 100 may proceed to keepupdating the emergency data on a periodic, or as-needed basis. In otherwords, the data regarding a user or electronic device 160 is keptcurrent such that the most recent and accurate emergency data can beprovided to emergency responders. The emergency data manager 100 isupdated with emergency data from devices 160, and/or databases 120, forall the emergency data pertaining to all users and their associatedelectronic devices 160. As an alternative to having a purge perioddefined by a timer, a purge period may be based on an on-going emergencysession such as an emergency call. For session-based purging, emergencydata may be deleted after the emergency session has been terminated. Tofurther ensure that the specific emergency data is no longer required,session-based emergency data purging may be performed after apredetermined time delay following emergency session termination, suchas a time delay of between one and fifty minutes. A time delay is alsobeneficial in the case of dropped calls, follow-up calls, etc.

In some non-emergency situations, there is a need to access locationdata, user data, emergency data or sensor data. For example, a user ofan electronic device 160 may grant authorization to family members toaccess the user's location data. Accordingly, if a family memberrequests location data for a user, access is granted if there is properauthorization. In another example of location data access, an employeemay be required to share location data with an employer, for examplethrough a corporate operations center, such that the corporateoperations center is notified when the employee is in an emergency. Inanother example, a taxi operations company may request and obtainlocation data of one or more fleet members to keep track of itsvehicles, for example, via an onboard vehicle console or terminal. Allof these emergency data accesses are monitored by the emergency datamanager 100 and are subject to proper authentication credential beforebeing provided.

FIG. 4 provides an example emergency network entity 140 which is acomputer aided dispatch (CAD) workstation and is one example of anemergency network entity. An emergency network may be implemented withmultiple emergency network entities of various kinds and therefore mayhave multiple workstations for example one or more call handlingworkstations, one or more CAD workstations, etc., in addition torouters, switches, hubs, access points, and other emergency networkentities, etc. The example CAD emergency network entity 140 may includea display 403, a user interface 405, audio equipment 407, networkcomponents 402, at least one processor 410, and at least onenon-volatile, non-transitory memory 430 in addition to RAM. All of thecomponents of the emergency network entity 140 are operatively coupledby an internal communication bus 401. The network components may includeone or more network transceivers for Ethernet connectivity to otherworkstations and devices and an Internet connection. The memory 430stores executable instructions and data such as executable instructionsfor an operating system 431 and various applications 432. The memory 430also stores data 433 which may provide data caching. User profiles 435store emergency network personnel profiles including login credentialsfor authorized users of the emergency network entity 140.

The processor 410 may be implemented as one or more microprocessors,DSPs, ASICs, FPGAs, microcomputers, microcontrollers, digital signalprocessors, central processing units, state machines, logic circuitries,and/or devices that manipulate signals based on operationalinstructions. Among other capabilities, the processor 410 is configuredand operative to fetch and execute computer-readable instructions (i.e.executable instructions) stored in the memory 430. For example, theapplications 432 executable instructions, when executed by the at leastone processor 410, may provide an operating system, a dialer application455, a short-message-service (SMS) application 456, an instant message(IM) application 457, a web browser 460, an email client 458 and one ormore instant message (IM) and voice applications which may each provideIM and voice call capability separately or in combination. The operatingsystem may include a kernel 451, libraries 452 (also referred to as“application programming interfaces” or APIs), an IP protocol stack 453,and an application layer 450 or user space within which the variousapplications are executed.

In the example emergency network entity 140 of FIG. 4 , the applications432 executable instructions, when executed by the at least one processor410, provide a standalone emergency response application 400 withassociated GUI 143, a computer aided dispatch (CAD) application 480including an data retrieval module 481, a dispatch module 482, and anassociated GUI 142 described in FIG. 1 . In the example implementationillustrated in FIG. 4 , the emergency response logic 144 shown in FIG. 1is operatively implemented as the standalone emergency responseapplication 400 in accordance with an embodiment.

The standalone emergency response application 400 is operative tocommunicate with the emergency data manager 100 and to request emergencydata such as medical data and other emergency data which may beprotected data. For example, an API 472 enables communication betweenthe emergency response application 400 and the IP protocol stack 453.Application agents 470 may also enable communication between theemergency response application 400 and other applications such as theweb browser 460 which uses an API 474. The CAD application 480 may alsocommunication with other applications using an API 471, and with theemergency response application 400 via an API 473.

The GUI 143 of the emergency response application 400 is operative tocommunicate with the emergency data manager 100 to send emergency dataqueries using a device identifier, and also to receive emergency datathat is pushed to the emergency response application 400 by theemergency data manager 100. The event correlation logic 300 and falsealarm detection logic 320 also communicate with the emergency responseapplication 400 to provide a queue of alarm events and to provideconsolidated indicators of correlated events. The emergency responseapplication 400 may also receive event scoring information from theevent correlation logic 300 and false alarm detection logic 320. In someembodiments, the emergency response application may performauto-dispatch operations based on inputs receive from the eventcorrelation logic 300 and false alarm detection logic 320.

The emergency response application 400 provides the GUI 143 on theemergency network entity display 403, and displays augmented emergencydata such as, but not limited to, augmented location data received fromthe emergency data manager 100, and sensor data related to alarm eventsin an alarm queue. Communication is established between the emergencyresponse application 400 and the emergency data manager 100 using the IPprotocol stack 453 and a network connection is established which may bea TCP connection and which may include one or more WebSocketconnections.

FIG. 5 is a diagram illustrating another example emergency networkemergency network entity 140 having an emergency response applicationplug-in 500 with a Web browser 460 in accordance with anotherembodiment. In the example implementation of FIG. 5 , the Web browser460 communicates with the emergency data manager 100 to provide the GUI143 as a SaaS interface. In other words, the emergency responseapplication plug-in 500 is operative to use an established IP protocolstack 453 connection between the emergency network entity 140 and theemergency data manager 100 using the Web browser 460. The emergencyresponse application plug-in 500 is operative to receive pushedemergency data from the emergency data manager 100 and display theemergency data on the GUI 143. The emergency response applicationplug-in 500 in conjunction with the Web browser 460 also enablesemergency data queries to the emergency data manager 100 to obtainemergency data, in addition to any emergency data received via a pushoperation. In some embodiments, the emergency response applicationplug-in 500 may communicate with the CAD application 480 via an API 475to send and receive data such as, but not limited to, ALI/ANI (AutomaticLocation Identification/Automatic Number Identification) data, ELS data,AML data, etc. An emergency data query sent to the emergency datamanager 100 by the emergency response application plug-in 500 mayutilize one or more WebSocket connections.

FIG. 6 is a block diagram providing an example of internal components ofa device 160. It is to be understood that FIG. 6 is an example only, andthat a given device 160 may have more components, less components, ordifferent components than shown, depending on the specific function andtype of device. Further, depending on the type of device, there may behardware only, hardware and firmware, hardware and software, etc. andmay therefore be implemented in various ways not limited by thecomponents shown in the FIG. 6 example. The example device 160 may be,but is not limited to: a mobile or cellular phone such as a smartphone;a wearable device such as a medical information bracelet, a fitnesstracker or a smartwatch; a computer, laptop, or tablet; a vehicleconsole; an Internet of Things (IoT) device, such as a home assistant(e.g., a connected speaker) or a connected sensor such as a connectedsmoke and carbon monoxide alarm, a burglar alarm, etc.; or awalkie-talkie or two-way radio; etc. The example device 160 may includea display 603, a user interface 605, audio equipment 607, networktransceiver/s 609, antennas 611, location components 615, sensors 617,at least one processor 620, and at least one non-volatile,non-transitory memory 630 in addition to RAM. Network components mayinclude one or more wireless network transceivers for wirelesscommunication such as for cellular communication, Wi-Fi™, Bluetooth™,etc. The memory 630 stores executable instructions and data such asexecutable instructions for an operating system 631, variousapplications 632 and an emergency alert application 635 in someimplementations. The memory 630 also stores data 633 which may provide alocation data cache and a user data cache. The device 160 may, in thecase of mobile telephones, include a SIM card or other removable,replaceable memory components in addition to memory 630. The locationdata cache be used to store locations generated by the one or morelocation components 615 which may include a GPS chipset, triangulationprocessing, or other location determination technology, etc. Userprofiles 634 stored in memory 630 may contain information related tospecific devices user configuration preferences, data sharingpermissions, etc.

The processor 620 may be implemented as one or more microprocessors,ASICs, FPGAs, microcomputers, microcontrollers, digital signalprocessors, central processing units, state machines, logic circuitries,and/or devices that manipulate signals based on operationalinstructions. Among other capabilities, the processor 620 is configuredand operative to fetch and execute computer-readable instructions (i.e.executable instructions) stored in the memory 630. For example, theapplications 632 executable instructions, when executed by the at leastone processor 620, may provide, a dialer application 641, ashort-message-service (SMS) application 642, an instant message (IM)application 643, a web browser 645, an email client 646 and one or moreIM and voice applications 644 which may each provide IM and voice callcapability separately or in combination. The IM and voice applications644 are referred to as “over-the-top” applications because the operatewithin the application layer of a mobile operating system. The operatingsystem 631 executable instructions, when executed by the at least oneprocessor 620, may provide a kernel 621, libraries 623 (also referred toas “application programming interfaces” or APIs) and an applicationlayer 640 or user space within which the various applications areexecuted.

All of the components of the device 160 are operatively coupled by aninternal communication bus 601. The display 603 is operatively coupledto the user interface 605 or may be considered a part of the userinterface 605 such as in the case of a touchscreen which is both adisplay and a user interface in that it provides an interface to receiveuser input or user interactions. In some devices, the display 603 maynot include a touchscreen, but may include one or more lights,indicators, lighted buttons, or combinations of these. The userinterface 605 may also include physical buttons such as an on/off buttonor volume buttons, and the audio equipment 607 may include a microphoneand a speaker.

The example device 160 may also include various accessories that allowfor additional functionality. Such accessories (not shown) may includeone or more of the following: a microphone, a camera, speaker, afingerprint scanner/reader, health or environmental sensors, a USB ormicro-USB port, a headphone jack, a card reader, a SIM card slot, or anycombination thereof. The one or more sensors may include, but are notlimited to: a gyroscope, and an accelerometer which may be incorporatedinto an Inertial Measurement Unit (IMU); a thermometer; a heart ratesensor; a barometer; or a hematology analyzer, or some other type ofbiometric sensor.

An emergency alert component 613 may be an ASIC or may be implementedas, or in conjunction with, an emergency alert application 647 where theemergency alert application 635 executable instructions are stored inmemory 630 and executed by the processor 620. The emergency alertcomponent 613 may be configured and operative to record user data, suchas a name, address, or medical data of a user associated with the device160. The emergency alert component 613 may also detect an emergencyusing features of the device 160 for example, when a user places anemergency call on a device that has phone call capabilities. Theemergency alert component 613 may also work in conjunction with “falldetection” such as in a medical bracelet which uses the sensors 617,such as an IMU (inertial-measurement-unit), to detect if the wearer ofthe bracelet has fallen and to initiate an emergency call or emergencyalert accordingly. The emergency alert component 613 may also work inconjunction with sensors 617 such as biometric sensors to detect forexample, a cardiac event or some other critical health or safety eventand to initiate an emergency call or emergency alert accordingly.

A device 160 user may initiate an emergency alert 105 by interactingwith the user interface 605, or the emergency may be detected by sensors617. In response to detecting an emergency alert or a request forassistance, such as a via native dial 9-1-1 call via the dialerapplication 641 (which is the phone's native dialer), which may begenerated or sent by the device 160, the emergency alert component 613may send a notification to the emergency network. The notification maybe sent as an HTTP post containing information regarding the emergencyrequest for assistance. The notification may include a location (e. g.,a device-based hybrid location) generated by or for the electronicdevice. In response to detecting an emergency request generated or sentby the device, the emergency alert component 613 may send user data tothe emergency network.

FIG. 7 is a block diagram providing an example of internal components ofan emergency responder device 150 which may be used to receive emergencydata. The internal components of the emergency responder device 150 aresimilar to the internal components of device 160 described with respectto FIG. 6 . However, the emergency responder device 150, may include anemergency data module 700 that provides the GUI 155 for displayingemergency data including medical data, location data, etc. The emergencydata module 700 may be implemented as an application executed by the atleast one processor 620. Emergency responder devices 150 are designed todisplay emergency data related to incidents within authoritative,administrative or assigned jurisdiction of the specific responder, andfor which proper credentials are provided depending on the type ofemergency data requested. The credentials of the responders may bematched to one or more geofences and incidents with current locationwithin the geofences are displayed. Emergency responder devices 150 maydisplay incidents based on a proximity radius on an interactive map. Forexample, a proximity radius may be within 10 meters to 5 kms, between 50meters to 1000 meters, for example 500 meters. As the responder movestowards an area, new incidents within the proximity radius may be“unlocked” and viewed.

The emergency responder devices 150 are operative to send emergency datarequests 151 to the emergency data manager 100 and also authenticationdata. The emergency data manager 100 may send an authentication request154 to an emergency responder device 150 prior to receivingauthentication data. The authentication request 154 may be, for example,a GUI 155 prompt to enter an authentication code. The authenticationcode may be a numerical code, a pattern, a biometric identifier, or acombination of these. The biometric identifier may be obtained from apatient at the scene of an emergency or may be a biometric thatidentifies the emergency responder. For example, either a device 160owned by a bystander, or an emergency responder device 150, may receivean authentication request 154. In that case, where information is beingobtained from a patient, the authentication request 154 may be a GUIprompt to scan an authentication code such as, but not limited to, a barcode, QR code, or RFID code on a medical bracelet or some othermechanism or a static code such as obtainable from a label,identification card, etc. In some implementations, an authenticationcode may be a dynamic code that may be generated by the emergency datamanager 100, or by another server, using random or pseudorandom codegeneration techniques. For data security, the generated authenticationcode may be conveyed to a device, that allegedly sent an emergency datarequest 151 to the emergency data manager 100, by using SMS (shortmessage service), email, a callback, etc. The emergency responderdevices 150 may have biometric sensors or may be operative to connect tobiometric sensor accessories such as, but not limited to,photoplethysmography sensors, fingerprint scanners, palm print scanner,facial recognition, retinal or iris scanners, hand geometry detection,ear geometry detection, odor/scent detection, DNA, behaviorcharacteristics, or other biometric sensors, etc. A biometric identifiermay be obtained from any of such biometric sensors or biometric sensoraccessories and may be a combination of two or more biometric sensormeasurements. If the emergency responder device 150 user is authorized,then the emergency data manager 100 will respond to an emergency datarequest 151 by providing emergency data 157 from various emergency datadatabases 120. The emergency responder devices 150 each have a webbrowser application or other application that provides the GUI 155 fordisplaying emergency data 157. The emergency data databases 120 mayinclude, but are not limited to, location data 121, medical data 123 andother emergency data 125. Emergency data requests may also be sent fromthe GUI 143 during call handling procedures, emergency dispatchprocedures or both, and emergency data requests 151 may be sent from theGUI 155 by an emergency responder device 150. Authentication data mayalso be sent by the GUI 155, or may be sent automatically by theemergency responder device 150 as part of, or in conjunction with, anemergency data request 151 initiated by an emergency responder device150 user.

In response to an emergency data request 151 from an emergency responderdevice 150, the emergency data manager 100 may request authenticationdata prior to sending any protected data. Alternatively, an emergencyresponder device 150 may send authentication data to the emergency datamanager 100 at the time of sending the emergency data request 151. Ifthe authentication data authenticates the emergency responder device150, then the emergency data manager 100 sends an appropriate responseincluding relevant emergency data 157 to via an encrypted pathway. Theemergency data request 151 may be, for example, an HTTP-Enabled LocationDelivery (HELD) message and the response from the emergency data manager100 or the emergency data manager 100 may be a Presence Information DataFormat Location Object (PIDF-LO) in accordance with NENA requirements.

For some emergency networks, emergency data requests 151 may be sentover public networks using API access keys or credentials. TransportLayer Security (TLS) may be used in the emergency data requests to theemergency data manager 100 and for sending emergency data 157 toemergency responder devices 150 for encryption security. The emergencyresponder device 150 may display the emergency data 157 using a webportal GUI or an application GUI.

FIG. 8 is one example screen of the graphical user interface (GUI) 143that may be displayed on an emergency network entity 140 display inaccordance with an embodiment. The display screen shown in FIG. 8includes a map section displaying a location indicator 805 for acorrelated event in which sensor data from a first sensor 809 and from asecond sensor 807. The correlated event corresponding to locationindicator 805 has been correlated to an alarm from an alarm queue 803,which is shown on the left-hand side of the GUI 143 screen. Theleft-hand portion of the GUI 143 screen provides a call queue 801 for9-1-1 emergency calls, and an alarm queue 803 showing informationrelated to incoming alarms coming from alarms 196 as illustrated in FIG.1 . The event correlation logic 200 provides the correlated eventinformation corresponding to the location indicator 805 and alsogenerates severity scores displayed in an emergency call score field 802of each queue entry related to incoming emergency calls and a scorefield 804 related to each incoming alarm in the alarm queue 803. Thealarm queue scores may be generated by the false alarm detection logic210 as a representation of confidence level that an alarm is legitimateand is not a false alarm. For example, an alarm score of 100 wouldindicate that the alarm is considered to be legitimate and requiringdispatch of emergency responders. The emergency network operating theemergency network entity may have determined threshold scores thatdetermine when emergency responders are dispatched to events in the callqueue 801 and alarm queue 803 based on the score values. The side menu811 allows a user to limit the call queue 801 and alarm queue 803 viewto specific emergency event types and locations such as residential,commercial, fire, medical, etc.

FIG. 9 is another example screen of the graphical user interface (GUI)143 that may be displayed on the emergency network entity 140 display inaccordance with an embodiment. The GUI 143 screen shown in FIG. 9 has acall queue 901 and an alarm queue 903, similar to the GUI screenillustrated in FIG. 8 . However, in FIG. 9 , the right-hand side of thescreen displays an alarm type list and an indicator scale 900 for eachalarm type that indicates the number of alarms of that type that havebeen detected. For example, eight fire alarms are present in the alarmqueue 903. As a dispatch operator dispatches emergency service personnelto the alarm scene the number of alarms in the alarm section indicatorscale 900 may be reduced to indicate that the alarm was handled orresolved. Alarms confirmed with the keyholder may correspond toprioritized alarm data 213 received from screener networks 207 by theevent correlation logic 200. Each prioritized alarm that includes anindicator from the screener network 207 that keyholder confirmation hasbeen received will be added to the count of “confirmed with keyholder”type alarms on the indicator scale 900. Confirmed alarms may be given aseverity score of 100 by the false alarm detection logic 210.

Each of the alarm types in the alarm type list may be color-coded suchthat the alarms in the alarm queue 903 each have a color correspondingto the specific alarm type. For example, alarm 904, which is the firstalarm the alarm queue 903, may be a fire alarm and therefore the text ofthe alarm ID or the alarm score may be displayed in a color that matchesthe color of the fire alarm type displayed in the alarm list in theindicator scale 900 display field.

The scores provided in the call queue 901 and the alarm queue 903 aregenerated by the event correlation logic 200 and the false alarmdetection logic 210. For example, the first alarm entry in the alarmqueue 903 has a score of 80. If the alarm is a burglar alarm, sensorsmay be used for validation of the burglar alarm such as, but not limitedto, motion detectors, glass break detectors or cameras. Thus forexample, in the indicator scale 900 display field, if a “motion detectedthree times” sensor has been detected that is correlated with the firstalarm having alarm ID “12345”, along with a glass break sensorindication, then this may have resulted in a score of 100 which is ascore that the particular alarm is not a false alarm. However, if aburglar alarm had a correlated glass break detection, but only a singleoccurrence motion detection, then the burglar alarm may have received alower score such as 80, for example.

In another example emergency call 902 has a score of 50. If more thanone emergency call has been received for the same emergency, for examplea fire emergency, then a score of 50 or above may indicate multiplecalls for the same emergency. The score may also reflect that sensordata or alarm data corroborates the emergency call. The exactsignificance of the score values may be determined by each emergencynetwork's specific operating procedures or operating requirements andthe event correlation logic 200 and false alarm detection logic 210 canbe adjusted accordingly to reflect the procedures and requirements inthe scoring. As an example, some emergency networks may decide thatcorrelated events with a score of 50 or higher should be auto-dispatchedbecause there is sufficient data available to warrant the decision. Inthat case, correlated events with a score of 50 or less would be handledby the call takers or dispatch operators and involve a human decisionmaker for making a dispatch decision. In other words, the scores shownin the figures are for example only and the threshold value can be setbased on operating procedures and requirements of the emergency networkoperators such as municipalities, individual police and firedepartments, emergency medical service providers etc. More particularly,each emergency network may have its own scoring requirements. In otherscenarios however, the scoring values may become standardized and onlythe thresholds determined individually by emergency network operators.

The scores are multifunctional and may provide a confidence level in analarm, an indication of emergency severity, and also provide anindication that a call or alarm corresponds to a correlated event havingdata from multiple sources. More particularly, a “correlated event” isan event that has more than one point of data relevant to the event suchthat there are multiple sources of data. The term “event” as used hereinrefers to an indication of an incoming emergency such as an emergencycall or emergency alert, and alarm, or a sensor data indication that anemergency may be occurring. Each alarm type count or sensor type counton the indicator scale 900 corresponds to an “event.”

An event type may be a fire emergency event, a police emergency eventand a medical emergency or other specially defined event which may besub-events of fire, police and medical emergency events. Examples ofsub-events for a medical emergency may be anaphylactic shock, cardiacarrest, epileptic seizure, bleeding, asthma attack, etc. Examples ofsub-events for a police emergency may be burglary in-progress, armedrobbery in-progress, active shooter, riot, etc. Examples of sub-eventsfor a fire emergency may be, residential fire, office complex,high-rise, school, etc. Correlated events may consist of two or moredifferent event types. For example, a correlated event may include afire emergency and a medical emergency, or a police emergency and amedical emergency, etc.

Further in FIG. 9 each incoming emergency call in the call queue 901 isan event, and each incoming alarm in the alarm queue 903 is an event. Inone example of a “correlated event,” an incoming emergency call and anincoming alarm may be related to the same emergency. Therefore, thesetwo “events” may be consolidated into a “correlated event.” For example,if an emergency call in the call queue 901 is correlated to the burglaralarm having alarm ID 12345, then the event correlation logic 200 maydisplay only a single event in the queue. In the specific example of theburglar alarm event having a correlated emergency call event, theemergency call event may be displayed with a high confidence or severityscore. For example, the last call entry in the call queue 901 isdisplayed having a score of 100. The calls in the call queue 901 mayalso be color-coded to represent the type of emergency, or type of alarmto which they are correlated. Alternatively, correlated events may stillhave all individual events shown on the GUI 143, with a special colorcode or icon indicator to show that the event is correlated to otherevents in the queues.

Alternative to color-coded, an icon may be displayed next to the entrieswithin the call queue 901 and the alarm queue 903 that indicate theemergency type. For example, a fire symbol may be displayed for a fireemergency, a medical cross may be displayed for a medical emergencysituation, and a police badge may be displayed for a police emergency orcrime in progress.

FIG. 10 is a flowchart showing a method of operation of the false alarmdetection logic 210 in accordance with various embodiments. The methodof operation begins, and in operation block 1001, the false alarmdetection logic 210 receives an alarm notification. The alarmnotification may be prioritized alarm data 213 or may be non-prioritizedalarm data 215. Therefore, in decision block 1003, the false alarmdetection logic 210 checks whether an alarm verification was receivedfrom one of the screener networks 207. If yes, then the method ofoperation proceeds to operation block 1009 and pushes the alarm data tothe emergency network. However, if an alarm verification has not beenreceived at decision block 1003, then the method of operation proceedsto decision block 1005 and the false alarm detection logic 210 checkswhether there are any sensors and proximity to the location from whichthe alarm notification was received. If not, then the false alarmdetection logic 210 flags the alarm as an unverified alarm in operationblock 1007, and pushes the alarm data to the emergency network with theunverified alarm flag in operation block 1009. However, if sensor datais available at decision block 1005, then the method of operationproceeds to operation block 1011 and the false alarm detection logic 210obtains sensor data from the sensors 197. In operation block 1013, thefalse alarm detection logic 210 determines a severity score using thesensor data. In decision block 1015, false alarm detection logic 210 maydetermine whether the severity score is above a threshold. If not, themethod of operation terminates as shown. However, if the severity scoreis above a threshold at decision block 1015, then the false alarmdetection logic 210 will push the alarm data to the emergency network inoperation block 1009. In other words, the false alarm detection logic210 will not push the alarm to the emergency network if it is determinedthat the alarm is a false alarm. The severity score, and thepredetermined thresholds may be used to determine whether an alarm isfalse alarm or not.

FIG. 11 is a flowchart showing a method of operation of the false alarmdetection logic 210 in accordance with various embodiments. The methodof operation begins, and in operation block 1101, the false alarmdetection logic 210 receives an alarm notification. At decision block1103, the false alarm detection logic 210 determines whether an alarmverification has been received, for example from one of the screenernetworks 207. If yes then the method of operation proceeds to operationblock 1107 and pushes the alarm data to the emergency network. Themethod of operation then terminates as shown. However, if no alarmverification was received at decision block 1103, then the false alarmdetection logic 210 will check for sensor data verification in decisionblock 1105. If sensor verification data is obtained in decision block1105, then the false alarm detection logic 210 will push the alarm datato the emergency network in operation block 1107. However, if no sensorverification data is obtained at decision block 1105, then the falsealarm detection logic 210 may initiate a call flow procedure inoperation block 1109. The call procedure may use an automated call (i.e.a robot call) to the keyholder related to the alarm and requestverification by an input. If the verification is received at decisionblock 1111, then the alarm data is pushed to the emergency network inoperation block 1107. However, if no verification is received atdecision block 1111, then the method of operation terminates as shownand the alarm is not pushed to the emergency network because it isdetermined to be a false alarm.

FIG. 12 is a flowchart showing a method of operation of eventcorrelation logic in accordance with various embodiments. The method ofoperation begins, and in operation block 1201 the event correlationlogic 200 receives data inputs from alarms 196, sensors 197, and mobiledevice emergency call related data from the various databases 120, andmobile device alert related emergency data which may also be fromdatabases 120. In operation block 1203, the event correlation logic 200determines event correlations based on the data inputs. In operationblock 1205, the event correlation logic 200 determines the emergencynetwork dispatch rules applicable to correlated events based on theemergency types corresponding to the correlated events. For example, afire emergency will have one specific set of dispatch rules, whereas apolice emergency will have another set of dispatch rules that will beapplicable. In some embodiments, such as the emergency data manager 100embodiment illustrated in FIG. 3 , the dispatch rules 337 stored inmemory 330 are accessed by the event correlation logic and applied tothe specific emergency type. Therefore, in operation block 1207 theevent correlation logic 200 applies the corresponding selected emergencynetwork dispatch rules to each corresponding correlated event. Inoperation block 1209, the event correlation logic 200 will send dispatchrecommendations to an emergency network entity based on thecorresponding emergency network dispatch rule. The method of operationthen terminates as shown.

FIG. 13 is a flowchart showing a method of operation of eventcorrelation logic in accordance with various embodiments. The method ofoperation begins, and in operation block 1301 the event correlationlogic 200 receives data inputs from alarms 196, sensors 197, mobiledevice emergency call related emergency data from the various databases120 as well as mobile device alert related emergency data from the samedatabases. In operation block 1303, the event correlation logic 200determines event correlations based on the data inputs. In operationblock 1305, the event correlation logic 200 determines an event type foreach correlated event, for example, fire emergency, medical emergency,police emergency, etc. In operation block 1307, event correlation logic200 determines an event severity score based on the data inputs relatedto the correlated event and the event type. At decision block 1309, theevent correlation logic 200 determines whether the severity scorerequires emergency dispatch. If not, then the method of operationproceeds to operation block 1311, and the event correlation logic 200adds the emergency event with its corresponding severity score to therelevant queue at the relevant emergency network entity. The method ofoperation then terminates as shown.

However, if at decision block 1309 the severity score does requireemergency dispatch, the method of operation proceeds to operation block1313 and the event correlation logic 200 determines the emergencynetwork dispatch rules applicable to the correlated event. In operationblock 1315, the event correlation logic 200 performs an auto dispatchprocedure. The method of operation then ends as shown.

The auto dispatch procedure may involve evaluating dispatch rules forthe particular emergency type to see if all the criteria are met, or ifthe number of criteria are met such that the emergency requiresdispatch.

FIG. 14 is a flowchart showing a method of operation of eventcorrelation logic in accordance with various embodiments. The method ofoperation begins, and in operation block 1401 the event correlationlogic 200 determines the applicable emergency network dispatch rules forcorrelated events based on determining the event types. In decisionblock 1403, the event correlation logic 200 determines whether theemergency network dispatch rules criteria has been met. If not, themethod of operation proceeds to operation block 1405, and the eventcorrelation logic 200 flags the event with a severity score. Inoperation block 1411, the event correlation logic 200 sends the eventseverity score to the appropriate emergency network entity and themethod of operation terminates as shown.

If however, the emergency network dispatch rules criteria has been metat decision block 1403, then the event correlation logic 200 flags theevent with the appropriate severity score in operation block 1407, andsends a dispatch recommendation to the appropriate emergency networkentity in operation block 1409. The method of operation then terminatesas shown.

FIG. 15 is a flowchart showing a method of operation of eventcorrelation logic and false alarm detection logic in accordance withvarious embodiments. The method of operation begins, and in operationblock 1501, the event correlation logic 200 sends correlated alarm datainputs to the false alarm detection logic 210. In decision block 1503,the event correlation logic 200 determines whether false alarm has beenindicated by the false alarm detection logic 210. If yes, the method ofoperation proceeds to operation block 1505 and the event correlationlogic 200 flags the false alarm indicator at the emergency networkentity. However, if at decision block 1503 no false alarm is indicated,then in operation block 1507 the event correlation logic 200 proceeds todetermine the emergency network dispatch rule for the correlated event.The method of operation then ends as shown.

Emergency dispatch rules normally involve a set of criteria there areevaluated by a call taker, for example at a call handling workstationnetwork entity in an emergency network. This procedure is performedmanually by the call taker were dispatch operator usually by asking thecaller, or other individuals on the scene, specific questions to obtainthe needed information. In accordance with the embodiments, theemergency dispatch rules are automated and the determination of theanswers to the questions normally ask verbally by a call taker aredetermined using sensor data or other data available from involvedmobile devices, proximal sensors or databases. Therefore, the eventcorrelation logic 200 makes a dispatch recommendation which is sent tothe emergency response logic 144 operating within an emergency networkentity 140. The emergency response logic 144 may be operative to performthe dispatch operation by contacting the appropriate emergencyresponders, such as the fire department ambulance or police depatintent. The information related to the emergency type, and any relatedemergency data is conveyed to the emergency responders such that theymay respond at the scene of the emergency accordingly. In someembodiments, the emergency data manager 100 is operative to communicatewith emergency responder devices 150 via, for example the emergency datamodule 700 which is operative to form an IP connection with theemergency data manager 100. The emergency data manager 100 may senddispatch information that is displayed on the GUI 155 of the responderdevice 150. An emergency responder may accept the dispatch informationusing the GUI 155.

In some embodiments, the experience of the call taker is simulated by amachine learning algorithm that has been fed appropriate amounts ofemergency data from alarms, emergency calls and sensors to form atraining procedure that is used to train the event correlation logic 200and the false alarm detection logic 210. In other words, in someembodiments the event correlation logic 200 and false alarm detectionlogic 210 are trained by machine learning algorithms subsequent to themachine learning algorithms evaluating appropriate amounts of emergencydata and/or comparing actions of the machine learning algorithm with theactions of an experienced call taker and adjusting the algorithmaccordingly. Thus, in some embodiments, the event correlation logic 200and false alarm detection logic 210 are rule based logic systems thatapply predetermined rules stored either within the logic componentsthemselves, or within operatively coupled external memory. While inother embodiments, the event correlation logic 200 and false alarmdetection logic 210 are trained via machine learning algorithms.

While various embodiments have been illustrated and described, it is tobe understood that the invention is not so limited. Numerousmodifications, changes, variations, substitutions and equivalents willoccur to those skilled in the art without departing from the scope ofthe present invention as defined by the appended claims.

1. An emergency data manager comprising: a data ingestion module,operative to receive emergency data, comprising mobile device locationdata, from mobile devices that have placed emergency calls to aplurality of public safety answering points (PSAPs); event correlationlogic, operative to correlate all the emergency data incoming to thedata ingestion module; a geofence module, operative to filter allemergency data using a plurality of geofences, and to provide a portionof the emergency data, the portion being determined by geofence modulefiltering, to an authorized PSAP based on the portion of the emergencydata corresponding to locations within a geofence of the authorizedPSAP, the geofence defining a jurisdictional boundary for the authorizedPSAP; and a mapping module, operative to generate a jurisdictional mapview in a cloud-based user interface provided to the authorized PSAP,the jurisdictional map view corresponding to a jurisdictional boundaryof the authorized PSAP, and the mapping module providing locationindicators on the jurisdictional map view corresponding to mobiledevices that have placed emergency calls while located within thejurisdictional boundary of the authorized PSAP.
 2. The emergency datamanager of claim 1, wherein the event correlation logic is furtheroperative to: correlate all incoming emergency data incoming to the dataingestion module to create a plurality of correlated events byidentifying a plurality of data points related to a specific event andconsolidating the plurality of data points to create a specificcorrelated event comprising the plurality of data points related to thespecific event.
 3. The emergency data manager of claim 1, wherein theevent correlation logic is further operative to: correlate all incomingemergency data incoming to the data ingestion module to create aplurality of correlated events wherein each event comprises anindication of an incoming emergency selected from indications consistingof: an emergency call, an emergency alert, and alarm.
 4. The emergencydata manager of claim 1, wherein the emergency data manager is furtheroperative to: provide the cloud-based user interface to the authorizedPSAP comprising a call queue and an alarm queue.
 5. The emergency datamanager of claim 1, wherein the emergency data manager is furtheroperative to: provide the cloud-based user interface to the authorizedPSAP comprising a call queue and an alarm queue wherein each call in thecall queue and each alarm in the alarm queue are color codedcorresponding to an emergency type.
 6. The emergency data manager ofclaim 1, wherein the emergency data manager is further operative to:provide the cloud-based user interface to the authorized PSAP comprisingemergency calls and alarms correlated by the event correlation logicshown on the cloud-based user interface consolidated into a correlatedevent.
 7. The emergency data manager of claim 5, wherein the emergencydata manager is further operative to: provide the cloud-based userinterface to the authorized PSAP comprising a call queue and an alarmqueue wherein emergency calls and alarms correlated by the eventcorrelation logic are shown consolidated into a correlated event and thecorrelated event is represented on the cloud-based user interface via anicon indicator corresponding to an event type.
 8. The emergency datamanager of claim 5, wherein the emergency data manager is furtheroperative to: provide the cloud-based user interface provided to theauthorized PSAP comprising a call queue and an alarm queue whereinemergency calls and alarms correlated by the event correlation logic areshown consolidated into a correlated event and the correlated event isrepresented on the cloud-based user interface via a color codecorresponding to an event type.
 9. The emergency data manager of claim1, wherein the data ingestion module is further operative to: obtainadditional data by communicating with a plurality of databases and witha plurality of alarms and sensors to obtain the additional data.
 10. Theemergency data manager of claim 9, wherein the event correlation logicis further operative to: correlate all additional data incoming to theemergency data from mobile devices such that a consolidated view of anemergency situation can be provided to a PSAP by consolidating datarelated to correlated events into a consolidated event entry on thecloud-based user interface.
 11. The emergency data manager of claim 9,further comprising: false alarm detection logic, operative to evaluatecorrelated event data from the event correlation logic and determinethat an alarm is not a false alarm.
 12. A method of operating acloud-based server and providing emergency data to a public safetyanswering point (PSAP) therefrom, comprising: receiving emergency dataat a cloud-based server, the emergency data comprising mobile devicelocation data, from mobile devices that have placed emergency calls to aplurality of PSAPs; correlating all incoming emergency data incoming tothe cloud-based server; filtering all emergency data, received by thecloud-based server, using a plurality of geofences, and providing aportion of the emergency data to an authorized PSAP based on the portionof the emergency data corresponding to locations within a geofence ofthe authorized PSAP, the geofence defining a jurisdictional boundary forthe authorized PSAP; generating a jurisdictional map view in acloud-based user interface provided to the authorized PSAP, thejurisdictional map view corresponding to a jurisdictional boundary ofthe authorized PSAP; and providing location indicators on thejurisdictional map view corresponding to mobile devices that have placedemergency calls while located within the jurisdictional boundary of theauthorized PSAP.
 13. The method of claim 12, further comprising:correlating all incoming emergency data to create a plurality ofcorrelated events by identifying a plurality of data points related to aspecific event; and consolidating the plurality of data points to createa specific correlated event comprising the plurality of data pointsrelated to the specific event.
 14. The method of claim 12, furthercomprising: correlating all incoming emergency data to create aplurality of correlated events wherein each event comprises anindication of an incoming emergency selected from indications consistingof: emergency call, emergency alert, and alarm.
 15. The method of claim12, further comprising: providing the cloud-based user interface to theauthorized PSAP comprising a call queue and an alarm queue.
 16. Themethod of claim 12, further comprising: providing the cloud-based userinterface to the authorized PSAP comprising a call queue and an alarmqueue wherein each call in the call queue and each alarm in the alarmqueue are color coded corresponding to an emergency type.
 17. The methodof claim 12, further comprising: providing the cloud-based userinterface to the authorized PSAP comprising emergency calls and alarmsthat have been correlated, shown on the cloud-based user interfaceconsolidated into a correlated event.
 18. The method of claim 15,further comprising: providing the cloud-based user interface to theauthorized PSAP comprising a call queue and an alarm queue whereinemergency calls and alarms correlated are shown consolidated into acorrelated event and the correlated event is represented on thecloud-based user interface via an icon indicator corresponding to anevent type.
 19. The method of claim 15, further comprising: providingthe cloud-based user interface to the authorized PSAP comprising a callqueue and an alarm queue wherein emergency calls and alarms correlatedare shown consolidated into a correlated event and the correlated eventis represented on the cloud-based user interface via a color codecorresponding to an event type.
 20. The method of claim 12, furthercomprising: obtaining additional data by communicating with a pluralityof databases and with a plurality of alarms and sensors to obtain theadditional data.
 21. The method of claim 20, further comprising:correlating all additional data incoming from mobile devices such that aconsolidated view of an emergency situation can be provided to a PSAP byconsolidating data related to correlated events into a consolidatedevent entry on the cloud-based user interface.
 22. The method of claim12, further comprising: evaluating, by false alarm detection logic,correlated event data and determining that an alarm is not a falsealarm.